Team members have produced a list of know database tables.
I'm going to try to represent those in machine-readable format, and run tests against the API for existence and row-count
In [5]:
import requests
import io
import pandas
from itertools import chain
In [ ]:
def makeurl(tablename,start,end):
return "https://iaspub.epa.gov/enviro/efservice/{tablename}/JSON/rows/{start}:{end}".format_map(locals())
In [13]:
def table_count(tablename):
url= "https://iaspub.epa.gov/enviro/efservice/{tablename}/COUNT/JSON".format_map(locals())
out=requests.get(url)
try:
return out.json()[0]['TOTALQUERYRESULTS']
except Exception as e:
print(e)
print(out.text)
return -1
In [1]:
table_names=[
"BREPORT_CYCLE",
"RCR_HHANDLER",
"RCR_BGM_BASIC",
"PUB_DIM_FACILITY",
"PUB_FACTS_SUBP_GHG_EMISSION",
"PUB_FACTS_SECTOR_GHG_EMISSION",
"PUB_DIM_SUBPART",
"PUB_DIM_GHG",
"PUB_DIM_SECTOR",
"PUB_DIM_SUBSECTOR",
"PUB_DIM_FACILITY",
"AA_MAKEUP_CHEMICAL_INFO",
"AA_SUBPART_LEVEL_INFORMATION",
"AA_SPENT_LIQUOR_INFORMATION",
"AA_FOSSIL_FUEL_INFORMATION",
"AA_FOSSIL_FUEL_TIER_2_INFO",
"AA_CEMS_DETAILS",
"AA_TIER_4_CEMS_QUARTERLY_CO2",
"PUB_DIM_FACILITY",
"EE_CEMS_DETAILS",
"EE_CEMS_INFO",
"EE_FACILITY_INFO",
"EE_NOCEMS_MONTHLYDETAILS",
"EE_NOCEMSTIO2DETAILS",
"EE_SUBPART_LEVEL_INFORMATION",
"EE_TIER4CEMS_QTRDTLS",
"PUB_DIM_FACILITY",
"GG_FACILITY_INFO",
"GG_NOCEMS_ZINC_DETAILS",
"GG_SUBPART_LEVEL_INFORMATION",
"PUB_DIM_FACILITY",
"II_BIOGAS_REC_PROC",
"II_CH4_GEN_PROCESS",
"II_EQU_II1_OR_II2",
"II_EQU_II4_INPUT",
"II_EQUATION_II3",
"II_EQUATION_II6",
"II_EQUATION_II7",
"II_SUBPART_LEVEL_INFORMATION",
"II_PROCESS_DETAILS",
"PUB_DIM_FACILITY",
"NN_SUBPART_LEVEL_INFORMATION",
"NN_NGL_FRACTIONATOR_METHODS",
"NN_LDC_NAT_GAS_DELIVERIES",
"NN_LDC_DETAILS",
"PUB_DIM_FACILITY",
"R_SUBPART_LEVEL_INFORMATION",
"R_FACILITY_INFO",
"R_SMELTING_FURNACE_INFO",
"R_FEEDSTOCK_INFO",
"PUB_DIM_FACILITY",
"TT_SUBPART_GHG_INFO",
"TT_LANDFILL_DETAILS",
"TT_LF_GAS_COLL_DETAILS",
"TT_WASTE_DEPTH_DETAILS",
"TT_WASTESTREAM_DETLS",
"TT_HIST_WASTE_METHOD",
"PUB_DIM_FACILITY",
"W_SUBPART_LEVEL_INFORMATION",
"W_LIQUIDS_UNLOADING",
"W_TRANSMISSION_TANKS",
"W_PNEUMATIC_DEVICES",
"W_WELL_COMPLETION_HYDRAULIC",
"W_WELL_TESTING",
]
For each table, I want to
In [6]:
table_count(table_names[0])
Out[6]:
In [15]:
%%time
table_counts={
table_name:table_count(table_name)
for table_name in table_names
}
In [16]:
pandas.Series(table_counts)
Out[16]:
In [17]:
len(table_counts)
Out[17]:
So all of these tables exist.
In [ ]: